package com.jinzhi.jzweb.domain;

import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;


import com.jinzhi.jzweb.pojo.ModuleConfig.SignGrade;
import com.jinzhi.jzweb.pojo.ModuleConfig.SignGradeDTO;
import com.jinzhi.jzweb.pojo.StuSignUpComAgeVO;
import com.jinzhi.jzweb.pojo.StuSignUpComSexVO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;


import java.io.Serializable;
import java.util.*;


/**
 * 
 * <pre>
 * 考生报名
 * </pre>
 * <small> 2023-05-05 08:52:02 | lance</small>
 */
@Data
@SuppressWarnings("serial")
@TableName("jz_stu_sign_up_com")
//这是的这里继承的基础服务类，有几个基本字段
public class StuSignUpComDO implements Serializable {
	@TableId
	private Long id;

    /** 会员id */
    @TableField("user_id")
    private Long userId;

    /** 认证批次id */
    @TableField("cbatch_id")
    private Long cbatchId;

    /** 比赛编号 */
    @TableField("com_num")
    private Integer comNum;

    /** 比赛编号 */
    @TableField("com_nums")
    private String comNums;
    /** 考点编号（机构信息表中，冗余字段） */
    @TableField("org_num")
    private String orgNum;

    /** 考点id(机构信息id） */
    @TableField("org_id")
    private Long orgId;

    /** 考场号（考场分配表中，冗余字段） */
    @TableField("eallocation_num")
    private String eallocationNum;

    /** 考场分配id */
    @TableField("eallocation_id")
    private Long eallocationId;

    /** 考生姓名 */
    @TableField("name")
    private String name;

    /** 身份证号码 */
    @TableField("id_number")
    private String idNumber;

    /** 考生照片 */
    @TableField("photo")
    private String photo;

    /** 附件上传（文档，图片） */
    @TableField("enclosure")
    private String enclosure;

    /** 考号/手机号码 */
    @TableField("ticket_number")
    private String ticketNumber;

    /** 审核状态（0待审核，1待缴费，2未通过，3已分配，4已缴费，5待分配，6已过理论，7已出证书，8考试中，9已删除，10已交卷） */
    @TableField("state")
    private Integer state;

    /** 备注 */
    @TableField("remark")
    private String remark;

    /** 报名时间 */
    @TableField("sign_up_time")
    private Date signUpTime;

    /** 审核人id */
    @TableField("checker_id")
    private Long checkerId;

    /** 审核时间 */
    @TableField("checker_date")
    private Date checkerDate;

    /** 考生类型（0：在校考生 ， 1：社会考生） */
    @TableField("type")
    private Integer type;

    /** 考试批次ID */
    @TableField("eax_batch_id")
    private Integer eaxBatchId;

    /** 1 幼儿照护 2产后恢复 3 理论竞赛 4实操竞赛 */
    @TableField("types")
    private Integer types;

    /** 单位名称 */
    @TableField("unit_name")
    private String unitName;

    /** 指导老师 */
    @TableField("teacher")
    private String teacher;

    /** 备注 */
    @TableField("notes")
    private String notes;

    /**第一次加密  */
    @TableField("num1")
    private String num1;

    /** 第二次加密 */
    @TableField("num2")
    private String num2;

    /** 赛场录入 */
    @TableField("court")
    private String court;

    /** 第二次加密生成的随机密码 */
    @TableField("random_cipher")
    private String  randomCipher;


    /** 竞赛名称 */
    @TableField(exist = false)
    private String cbatchName;

    /** B/C赛场加密序号 */
    @TableField(exist = false)
    private String encryptionUmber;


    @TableField(exist = false)
    private  Long ebatchId;


    /**实操第一次加密  */
    @TableField("reality_um1")
    private String realityNm1;


    /**实操第二次加密  */
    @TableField("reality_um2")
    private String realityNm2;

    /**B2一次加密号  */
    @TableField("reality_um3")
    private String realityNm3;

    /**B2二次加密号  */
    @TableField("reality_um4")
    private String realityNm4;

    /**实操赛场录入  */
    @TableField("court2")
    private String court2;

    /** 竞赛类别 1、教师组2、学生中职组3、学生高校组 4国际组 */
    @TableField("competition_type")
    private String competitionType;


    @TableField(exist = false)
    private  String jinzhuanTopicId;

    /** 赛场id（B1-C1或B2-C2或B3-C3的id） */
    @TableField(exist = false)
    private String competitionId;


    /** 裁判打分数据 */
    @TableField(exist = false)
    private List<MarkVO>  markVO ;

    /** 裁判打的任务的总分 */
    @TableField(exist = false)
    private Double refereeScore = 0.0;

    /** 学员最终获得的总分 */
    @TableField(exist = false)
    private Double totalScore = 0.0;


    /** A赛场机考的分数 */
    @TableField(exist = false)
    private Double computerScore;


    //安全防护任务最终得分
    @TableField(exist = false)
    private Double secureScore = 0.0;

    //日常保健最终得分
    @TableField(exist = false)
    private Double healthScore = 0.0;

    //生活照料最终得分
    @TableField(exist = false)
    private Double lookAfterScore = 0.0;

    //早期发展最终得分
    @TableField(exist = false)
    private Double developmentGuidanceScore = 0.0;


    //A赛场得分
    @TableField(exist = false)
    private Double competitionAScore = 0.0;

    //B赛场得分
    @TableField(exist = false)
    private String competitionBScore = "0";

    //C赛场得分
    @TableField(exist = false)
    private String competitionCScore = "0";

    //统计分数排序
    @TableField(exist = false)
    private  Integer sort;

    //学员id
    @TableField(exist = false)
    private Long signId;

    @TableField(exist = false)
    private String competition;

    /** 拼接的裁判备注 */
    @TableField(exist = false)
    private String  refereeremark;

    @TableField(exist = false)
    private Long raceId;


    /**默认加密0 =加密 1=解密*/
    @TableField("decrypt")
    private Integer decrypt;
//    @TableField(exist = false)
//    private  int  pageNumber;
//    @TableField(exist = false)
//    private  int  pageSize;
//    /**实操第一次加密 */
//    @TableField("reality_um1")
//    private String realityNum1;
//
//    /**实操第二次加密 */
//    @TableField("reality_um2")
//    private String realityNum2;

    /**
     * 根据创建人id查询
     */
    @TableField(exist = false)
    private String createId;

    /**
     * 根据创建人id查询
     */
    @TableField(exist = false)
    private String encipher;

    /**
     * 考生文件
     */
    @TableField(exist = false)
    private String file;


    /**
     * 实操绑定赛场开始时间
     */
    @TableField(exist = false)
    private Date startTime;



    /**
     * 实操绑定赛场结束时间
     */
    @TableField(exist = false)
    private Date endTime;


    /** 性别(1男，2女，0未知） */
    @TableField("sex")
    private Integer sex;

    /** 省份 */
    @TableField("province")
    private String province;


    /** 民族 */
    @TableField("family")
    private String family;

    /**
     * 英文名
     */
    @TableField("english_name")
    private String englishName;

    /**
     * 国家
     */
    @TableField("country")
    private String country;

    /**
     * 单位名称（英文）
     */
    @TableField("unit_english_name")
    private String unitEnglishName;

    /**
     * 手机号
     */
    @TableField("mobile")
    private String mobile;

    /**
     * 邮箱
     */
    @TableField("email")
    private String email;

    /**
     * 职务职称
     */
    @TableField("official_capacity")
    private String officialCapacity;

    /**
     * 地区
     */
    @TableField("area")
    private String area;

    /**
     * 团队序号
     */
    @TableField("team_number")
    private String teamNumber;


    /**
     * 考试总人数 默认为0
     */
    @TableField(exist = false)
    private Integer totalNumber = 0;

    /**
     * 省份数量 默认为0
     */
    @TableField(exist = false)
    private Integer provinceNumber = 0;

    /**
     * 参赛院校数量 默认为0
     */
    @TableField(exist = false)
    private Integer unitNumber = 0;

    /**
     * 性别占比饼图数据
     */
    @TableField(exist = false)
    private List<StuSignUpComSexVO> sexList;

    /**
     * 民族分布
     */
    @TableField(exist = false)
    private List<StuSignUpComSexVO> familyList;

    /**
     * 年龄数据对象
     */
    @TableField(exist = false)
    private StuSignUpComAgeVO ageVO;


    /**
     * 根据创建人id查询
     */
    @TableField(exist = false)
    private String lottery;


    /**
     * 0 未抽签  1以抽签
     */
    @TableField("lots")
    private Integer lots;

    /**
     * 检录号
     */
    @TableField("record_number")
    private String recordNumber;

    /**
     * 成绩信息
     */
    @TableField(exist = false)
    private SignGradeDTO signGradeDTO;

    /**
     * B2成绩信息
     */
    @TableField(exist = false)
    private SignGradeDTO signGradeDTO2;

    /**
     * B3成绩信息
     */
    @TableField(exist = false)
    private SignGradeDTO signGradeDTO3;

    /**
     * B4成绩信息
     */
    @TableField(exist = false)
    private SignGradeDTO signGradeDTO4;


    @TableField(exist = false)
    @ApiModelProperty(value = "赛场得分")
    private Double markTotal;

    /**
     *  isRecordNumber==1 只查询检录好的
     */
    @TableField(exist = false)
    private Integer isRecordNumber;

    /**
     *  教师组理论裁判一打分
     */
    @TableField(exist = false)
    private double markOneA2 ;

    /**
     *  教师组理论裁判二打分
     */
    @TableField(exist = false)
    private double markTwoA2 ;

    /**
     *  教师组理论裁判三打分
     */
    @TableField(exist = false)
    private double markThreeA2 ;

    /**
     *  A2赛项得分
     */
    @TableField(exist = false)
    private double markA2 ;


    /**
     *  B赛项综合得分
     */
    @TableField(exist = false)
    private double markB ;

    /**
     *  permsType==1  B1
     *  permsType==1  B2
     */
    @TableField(exist = false)
    private Integer permsType;

}
